怎样让宏能替换""之内的内容?比如#define(r) "r"

来源:百度知道 编辑:UC知道 时间:2024/06/23 14:33:37
怎样让宏能替换""之内的内容?比如#define(r) "r"
kwongki:编译器无法识别""中间的内容为要替换的量,比如#define P(r) printf("r\n");,P(1)的执行结果是r\n,想输入1换行就得用#define P(r) printf(r);\ printf("\n");,P("1")才行

#define (r) "##r##"

试试

#define P(r) (printf("##r##\n");)

ok?

宏替换是在编译的时候就已经完成
对于他来说只是一个替换的过程,“”也会被替换吧